﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace DoeObjects
{
    /// <summary>
    /// enum to specify the type of the notification
    /// </summary>
    [Flags]
    public enum NotificationType
    {
        /// <summary>
        /// type which will be used for messages which are related to accepting a users registration
        /// </summary>
        REGISTRATION_ACCEPT_REQUEST = 0,

        /// <summary>
        /// this type will be used for messages which are related with the reservation of a title
        /// </summary>
        TITLE_RESERVATION = 1,

		/// <summary>
		/// this type will be used for messages which are related with the reservation of a title
		/// </summary>
		EXPIRED_RECALL = 2,

        /// <summary>
        /// this type of message tells a user their book has been recalled
        /// </summary>
        RECALL = 3,

        /// <summary>
        /// this type of message tells a loan has been autorenewed
        /// </summary>
        LOAN_RENEWED = 4,

        /// <summary>
        /// this type of message is used for messages which have to handle "renew expire date" requests
        /// </summary>
        RENEW_EXPIRE_DATE_REQUEST = 5,

        /// <summary>
        /// this type of message is used for messages which are sent when a "renew expire date" requests was done
        /// </summary>
        RENEW_EXPIRE_DATE_REQUEST_ALLOWED = 6,

        /// <summary>
        /// this is a fallback
        /// </summary>
        UNKNOWN = -1 
    }
}
